from django.utils import timezone

from . import models


class Coupon(object):

    """ Этот класс описывает купон для пользователя """

    def __init__(self, request):

        self.session = request.session


    def add(self, code):

        """ Получаем купон пользователя если такой есть """

        now = timezone.now()
        try:
            coupon = models.Coupon.objects.get(code__iexact=code,
                                               valid_from__lte=now,
                                               valid_to__gte=now,
                                               active=True)
            self.session['coupon_id'] = coupon.id
        
        except models.Coupon.DoesNotExist:
            self.session['coupon_id'] = None
